From d45e39c59085e0ca93317bff5551a0e8a4d7efbb Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Wed, 16 Jul 2008 11:15:14 +0100 Subject: [PATCH] vt-d: Disable VT-d table output on DMA page faults Printing VT-d tables requires map_domain_page() which can not be called from interrupt context (on x86_32). Signed-off-by: Espen Skoglund --- xen/drivers/passthrough/vtd/iommu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index 94b24f3845..8155121188 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -719,9 +719,11 @@ static int iommu_page_fault_do_one(struct iommu *iommu, int type, PCI_SLOT(source_id & 0xFF), PCI_FUNC(source_id & 0xFF), addr, fault_reason, iommu->reg); +#ifndef __i386__ /* map_domain_page() cannot be used in this context */ if ( fault_reason < 0x20 ) print_vtd_entries(iommu, (source_id >> 8), (source_id & 0xff), (addr >> PAGE_SHIFT)); +#endif return 0; } -- 2.30.2